// 入口模块
const express = require('express')
const cors = require('cors')

// 创建主应用
const app = express()

// 静态资源
app.use(cors())
app.use(express.static("./public/imgs"));
app.use(express.static("./public/videos"));

var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

// 解析post请求数据
app.use(express.urlencoded({ extended: true }))
app.use(express.json())

// 响应数据的中间件
app.use(function (req, res, next) {
    // status = 0 为成功； status = 1 为失败； 默认将 status 的值设置为 1，方便处理失败的情况
    res.cc = function (err, code = 201) {
        res.send({
            // 状态
            code,
            // 状态描述，判断 err 是 错误对象 还是 字符串
            message: err instanceof Error ? err.message : err,
        })
    }
    next()
})

// 导入并使用用户路由
const userRouter = require('./router/info')
app.use('/api', userRouter)

// 配置解析表单数据的中间件
app.use(express.urlencoded({ extended: false }))

app.get('/', (req, res)=>{
    res.send('Hello world');
});

// 监听服务器
app.listen(3000, function () {
    console.log('api server running at http://101.42.43.79');
})